package com.ruoyi.staffing.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

import java.math.BigDecimal;
import java.util.Date;

/**
 * HR-候选人工作/教育经历对象 hr_candidate_experience
 */
public class HrCandidateExperience extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /** 主键ID */
    private Long id;

    /** 候选人ID(hr_candidate.id) */
    private Long candidateId;

    /** 类型:work工作,edu教育 */
    @Excel(name = "类型", readConverterExp = "work=工作,edu=教育")
    private String expType;

    /** 单位/院校名称 */
    @Excel(name = "单位/院校名称")
    private String orgName;

    /** 岗位/职称 或 专业 */
    @Excel(name = "岗位/职称/专业")
    private String positionOrMajor;

    /** 开始日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "开始日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date startDate;

    /** 结束日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "结束日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date endDate;

    /** 在职薪资/就读学费(可选) */
    @Excel(name = "薪资/学费")
    private BigDecimal salary;

    /** 证书/证件编号(教育相关时) */
    @Excel(name = "证书编号")
    private String certificateNo;

    /** 离职/离校原因(或说明) */
    @Excel(name = "离职/离校原因")
    private String leaveReason;

    /** 删除标志(0存在 1删除) */
    private String delFlag;

    public Long getId() { return id; }
    public void setId(Long id) { this.id = id; }

    public Long getCandidateId() { return candidateId; }
    public void setCandidateId(Long candidateId) { this.candidateId = candidateId; }

    public String getExpType() { return expType; }
    public void setExpType(String expType) { this.expType = expType; }

    public String getOrgName() { return orgName; }
    public void setOrgName(String orgName) { this.orgName = orgName; }

    public String getPositionOrMajor() { return positionOrMajor; }
    public void setPositionOrMajor(String positionOrMajor) { this.positionOrMajor = positionOrMajor; }

    public Date getStartDate() { return startDate; }
    public void setStartDate(Date startDate) { this.startDate = startDate; }

    public Date getEndDate() { return endDate; }
    public void setEndDate(Date endDate) { this.endDate = endDate; }

    public BigDecimal getSalary() { return salary; }
    public void setSalary(BigDecimal salary) { this.salary = salary; }

    public String getCertificateNo() { return certificateNo; }
    public void setCertificateNo(String certificateNo) { this.certificateNo = certificateNo; }

    public String getLeaveReason() { return leaveReason; }
    public void setLeaveReason(String leaveReason) { this.leaveReason = leaveReason; }

    public String getDelFlag() { return delFlag; }
    public void setDelFlag(String delFlag) { this.delFlag = delFlag; }
}
